package vip.xiaonuo.supplier.modular.custom.custom.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 客户信息编辑参数
 *
 * @author Mr.wu
 * @date  2025/03/17 11:20
 **/
@Getter
@Setter
public class SupplierCustomEditParam {

    /** 客户ID */
    @Schema(description = "客户ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "id不能为空")
    private String id;

    /** 客户名称 */
    @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "customName不能为空")
    private String customName;

    /** 客户类型 */
    @Schema(description = "客户类型", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "customCustomType不能为空")
    private String customCustomType;

    /** 客户电话 */
    @Schema(description = "客户电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "customTel不能为空")
    private String customTel;

    /** 客户地址 */
    @Schema(description = "客户地址")
    private String customAddress;

    /** 会员手机 */
    @Schema(description = "会员手机")
    private String customMobile;

    /** 负责人 */
    @Schema(description = "负责人")
    private String customPerson;

    /** 所属门店 */
    @Schema(description = "所属门店", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "customStore不能为空")
    private String customStore;

    /** 客户标签 */
    @Schema(description = "客户标签")
    private String customTag;

    /** 性别 */
    @Schema(description = "性别")
    private String customGender;

    /** 生日 */
    @Schema(description = "生日")
    private Date customBirthday;

    /** 客户状态 */
    @Schema(description = "客户状态")
    private String customStatus;

    /** 联系人 */
    @Schema(description = "联系人")
    private String customContact;

    /** 邮箱 */
    @Schema(description = "邮箱")
    private String customEmail;

    /** 传真 */
    @Schema(description = "传真")
    private String customFax;

    /** 开户行 */
    @Schema(description = "开户行")
    private String customBank;

    /** 银行账户 */
    @Schema(description = "银行账户")
    private String customAccount;

    /** 银行账号 */
    @Schema(description = "银行账号")
    private String customBankcode;

    /** 默认折扣 */
    @Schema(description = "默认折扣")
    private BigDecimal customDiscount;

    /** 客户积分 */
    @Schema(description = "客户积分")
    private Integer customScore;

    /** 累计积分 */
    @Schema(description = "累计积分")
    private Integer customScoreTotal;

    /** 推荐人 */
    @Schema(description = "推荐人")
    private String customReference;

    /** 允许访问商城 */
    @Schema(description = "允许访问商城")
    private String customAllowtovisitmail;

    /** 默认发货方式 */
    @Schema(description = "默认发货方式")
    private String customDelivery;

    /** 备注 */
    @Schema(description = "备注")
    private String customRemark;

    /** 客户头像 */
    @Schema(description = "客户头像")
    private String customAvatar;

    /** 应收账款 */
    @Schema(description = "应收账款")
    private BigDecimal customAccountsReceivable;

    /** 附件 */
    @Schema(description = "附件")
    private String customAttachment;

    /** 排序码 */
    @Schema(description = "排序码")
    private Integer sortCode;

    /** 扩展信息 */
    @Schema(description = "扩展信息")
    private String extJson;

    /** 数据归属 */
    @Schema(description = "数据归属")
    private String companyId;

}
